package com.gzsxy.sso.core.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gzsxy.sso.common.dto.request.FunctionRequest;
import com.gzsxy.sso.common.dto.response.FunctionRsp;
import com.gzsxy.sso.core.entity.Function;
import com.gzsxy.sso.core.entity.vo.FunctionQueryVo;

import java.util.List;


public interface FunctionService extends IService<Function> {



    /**
     * @description: 获取所以功能列表
     * @param
     * @return
     */
    IPage<Function> getAllFunction(Page<Function> pageParam, FunctionQueryVo functionQueryVo);


    /**
     * @description: 添加功能
     * @param
     * @return
     */
    void addFunction(FunctionRequest functionRequest);

    /**
     * @description: 根据id查询功能
     * @param
     * @return
     */
    Function selectById(String functionId);

    /**
     * @description: 编辑功能
     * @param
     * @return
     */
    void updateFunction(FunctionRequest functionRequest);

    /**
     * @description: 删除功能
     * @param
     * @return
     */
    void delete(String functionId,Boolean isConform);

    /**
     * @description: 通过appId查询功能列表
     * @param appId 应用id
     * @return
     */
    List<Function> selectFunByAppId(String appId);
}
